package cn.djb.day20;

/**
 * 输入某二叉树的前序遍历和中序遍历的结果，请构建该二叉树并返回其根节点。
 * <p>
 * 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
 */
class Solution_2 {

    public double myPow(double x, int n) {
        long N = n;
        return n >= 0 ? quickMul(x, N) : (1.0 / quickMul(x, -N));
    }

    public double quickMul(double x, long n) {

        if (n == 0) {
            return 1.0;
        }
        double y = quickMul(x, n / 2);

        return n % 2 == 0 ? y * y : x * y * y;

    }

}